//----------------------------------------------------------
// GraphicsManager.h
//   Game-specific declaration of Graphics Manager class
//   DirectX support only (for now)
//   This class abstracts the type graphics implementation
//     we potentially have, DirectX, OpenGL, etc.
//----------------------------------------------------------

#ifndef _GRAPHICSMANAGER_H_
#define _GRAPHICSMANAGER_H_

#include <windows.h>

class Engine;
class Graphics;

class GraphicsManager 
{
private:
	Graphics* _graphics;

public:

	GraphicsManager();
	~GraphicsManager();

	// initialize using the abstract class so support for
	//   other GPUs can be added
	bool Initialize(Graphics *graphics, Engine* pEngine);

	// other housekeeping
	bool Update(float deltaTime);
	bool Shutdown();
	bool RenderStart();
	void RenderEnd();

	Graphics* GetGraphics() { return _graphics; }

};

#endif